FAQ 数据库
数据库问题

1、数据库审计连接问题排查方式

问题解答:

(1)检查当前数据库访问方案使用的类型。

  • 数据库代理:默认中转服务器(默认就是安恒云门户服务器)

  • 数据库代理:Proxy宿主机

(2)检查代理机是否开放的代理映射端口(默认从8300开始),可以通过当前电脑/客户端在cmd里telnet 代理机IP 映射端口(例如8300)来看是否能连通。

(3)检查数据库所在主机是否开放了数据库的端口,代理机是否能连通目标数据库IP及端口。

(4)检查数据库是否允许代理机进行远程连接。

(5)检查该局域网里是否设置了安全组网络限制。

(6)如果通过上述方式还无法解决问题,请把代理机日志发送给安恒信息客服。

  • Proxy日志(Linux)路径:/usr/local/anhengCloud/CloudGateway/logs

  • Proxy日志(Windows)路径:C:\Program Files (x86)\anhengCloud\CloudGateway\logs

  • 门户中转日志路径:/opt/anhengCloud/logs/cloudTransit.log

2、MySQL授权代理使用此账户访问目标数据库命令

问题解答:

数据库访问方案创建成功,请在您的目标数据库中以“管理员身份”按步骤执行以下命令来授权:

(1)命令1:grant all privileges on . to username@'DBProxy_IP' identified by 'password'。

  • 命令中的 username 和 password 请替换成您在第一步输入的数据库账户与密码。

  • 命令中的 DBProxy_IP 请替换成您指定数据库代理的一个IP。

(2)命令2:FLUSH PRIVILEGES。

3、grant all privileges on . to root@'IP' identified by "password";这里的password填的是主机密码还是MySQL密码?

问题解答:

这里填写的是MySQL数据库的密码,在MySQL数据库里执行步骤1和2即可。

4、新增数据库实例时:阿里云RDS不支持创建root用户,也不支持数据库

问题解答:

这里赋予跳板机远程访问数据库的权限是一个示例,并非强制root和所有权限。您可以按照具体情形来处理。比如:授予需要登录的用户某个库的权限。

5、Navicat连接MySQL时提示:2003 - Can't connect to MySQL server on 'IP' (10060 "Unkown error")

问题解答:

(1)检查代理机是否开放数据库所映射的端口,当前客户端能否连通代理机的IP及映射端口

(代理机指的是Proxy宿主机/门户服务器,具体请参照您用的哪种代理方式)。

(2)检查数据库所在主机是否开放了数据库的端口,代理机是否能连通目标数据库IP端口。

(3)检查该局域网里是否设置了安全组网络限制。

6、Navicat连接Oracle时提示:ORA-28547:connection to server failed,probable Oracle Net admin error

问题解答:

(1)不通过安恒云连也会有该问题,是因为用户没有安装oracle client或者instantclient。

Navicat连Oracle数据库需要配合oracle client或者instantclient。

(2)有Oracle官网的帐号直接在Oracle官网下载:

https://www.oracle.com/database/technologies/instant-client/downloads.html

7、Navicat连接Oracle时提示:ORA-12514:TNS:listener does not currently know of service requested in conncet descriptor

问题解答:

请检查服务名或SID那里是否填写或是否选择错误。

8、Navicat连接SQLServer时提示:08001 - TCP Provider: Timeout error 258

问题解答:

(1)检查代理机是否开放数据库所映射的端口,当前客户端能否连通代理机的IP及映射端口

(代理机指的是Proxy宿主机/门户服务器,具体请参照您用的哪种代理方式)。

(2)检查数据库所在主机是否开放了数据库的端口,代理机是否能连通目标数据库IP端口。

(3)检查该局域网里是否设置了安全组网络限制。

9、Navicat连接SQLServer访问串时IP地址如何填写端口

问题解答:

如图,IP和端口用逗号隔开,格式为:IP,端口:

10、Navicat连接SqlServer时提示:【IM002】 【Microsoft】【ODBC 驱动程序管理器】 未发现数据源名称并且未指定默认驱动程序 (0)

问题解答:

请去Navicat Premium安装目录里安装sqlncli_x64.msi文件,安装过程选择如下:

安装完成后即可使用访问串登录数据库了。

11、连接SqlServer时提示:无法连接到 IP端口

问题解答:

(1)检查代理机是否开放数据库所映射的端口,当前客户端能否连通代理机的IP及映射端口。

(代理机指的是Proxy宿主机/门户服务器,具体请参照您用的哪种代理方式)

(2)检查数据库所在主机是否开放了数据库的端口,代理机是否能连通目标数据库IP端口。

(3)检查该局域网里是否设置了安全组网络限制。

12、数据库闲置超时时长设置方式

如果您是高于4.19版本,请直接在管理控制台里进行设置,如果您是低于4.19版本,请参考下述方式设置:

安恒云数据库连接是有超时机制的,后台有个调度每十分钟去检查活跃的数据库会话,如果会话十分钟都没有sql操作会关闭当前会话,可以参考如下方式来修改闲置时长。

问题解答:

(1)登录安恒云管理控制台:一般访问网址为ip/console。

(2)把访问网址改为如图:ip/console/index.html#/systemconfig。

(3)进入到如图页面后,点击<添加配置项>。

(4)如图输入配置项key: db.session_idle_time。

(5)如图输入配置项value:该值为数据库会话闲置时间,单位为分钟,如图这里输入的是120分钟。

13、应用宿主机无法直连数据库报10054错误

问题解答:

这是因为目标数据库版本(操作系统)等TLS、SSL版本太低。因为安全原因,在应用宿主机的安全策略里不支持连接较低版本的TLS、SSL。

请修改应用宿主机的注册表以及本地组策略,如图,在“注册表编辑器”计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols里把SSL2.0、TLS1.0、TLS 1.1、TLS1.2下的Client这里的"DisabledByDefault"数据改为0、"Enabled"改为1。

选择“本地组策略编辑器”,将”计算机配置/管理模板/网络/SSL配置“设置里的"SSL密码套件顺序"改为已禁用

14、waiting for initial communication packet

2013-Lost connection to MySQL server at 'waiting for initial communication packet',system error:0"Internal error/check(Not system error)"

问题解答:

请开放对应Proxy代理的数据库映射端口,可以通过个人电脑telnet ProxyIP 映射端口来查看端口是否能通。

15、1152 - query access info error for 访问串账号:not exsits

问题解答:

如图,可以看到左边栏这里还有之前的访问串未完全关闭。将左边栏里已有的访问串删除,然后重新再访问这个数据库连接。或者可以把所有数据库相关活跃会话全部关闭后再尝试连接。